How To Correctly Define Many-To-Many Relationships In Database Design